Skip to main content

第 12 章:Backup 設定

Backup Plan
resource "aws_backup_plan" "example" {
name = "tf_example_backup_plan"

rule {
rule_name = "tf_example_backup_rule"
target_vault_name = aws_backup_vault.test.name
schedule = "cron(0 12 * * ? *)"

lifecycle {
delete_after = 14
}
}

advanced_backup_setting {
backup_options = {
WindowsVSS = "enabled"
}
resource_type = "EC2"
}
}
Backup Framework
resource "aws_backup_framework" "Example" {
name = "exampleFramework"
description = "this is an example framework"

control {
name = "BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK"

input_parameter {
name = "requiredRetentionDays"
value = "35"
}
}

control {
name = "BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK"

input_parameter {
name = "requiredFrequencyUnit"
value = "hours"
}

input_parameter {
name = "requiredRetentionDays"
value = "35"
}

input_parameter {
name = "requiredFrequencyValue"
value = "1"
}
}

control {
name = "BACKUP_RECOVERY_POINT_ENCRYPTED"
}

control {
name = "BACKUP_RESOURCES_PROTECTED_BY_BACKUP_PLAN"

scope {
compliance_resource_types = [
"EBS"
]
}
}

control {
name = "BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED"
}

control {
name = "BACKUP_RESOURCES_PROTECTED_BY_BACKUP_VAULT_LOCK"

input_parameter {
name = "maxRetentionDays"
value = "100"
}

input_parameter {
name = "minRetentionDays"
value = "1"
}

scope {
compliance_resource_types = [
"EBS"
]
}
}

control {
name = "BACKUP_LAST_RECOVERY_POINT_CREATED"

input_parameter {
name = "recoveryPointAgeUnit"
value = "days"
}

input_parameter {
name = "recoveryPointAgeValue"
value = "1"
}

scope {
compliance_resource_types = [
"EBS"
]
}
}

tags = {
"Name" = "Example Framework"
}
}